Workshops

Knock Knock: Who's there? Aiohttp!

This workshop is geared towards intermediate-level Python users. Attendees will need cell phone and a laptop with a working python environment.

We’ll assume you have a good basic familiarity with the language, and already have a good working environment setup.

We will be using Python 3.6, but any version after 3.5 will work as well.

We will be using a python cookie cutter to setup a basic template to start our project off with.

We’ll go through what aiohttp is, how to utilize it and start building our asynchronous web service.

We’ll talk about the benefits of setting up an asynchronous server including better metrics and logging.

We’ll be building an app akin to the Dial-A-Joke app built by Steve Wozniak. Our server will make calls to users who have signed up to receive jokes at scheduled times and tell them a joke using TTS, and it will also provide a basic interactive experience over the phone using the touchpad.

We’ll setup native asynchronous scheduling inside the service and let it run.

Have you ever made a phone call through your web service? Curious about all the buzz about asynchronous frameworks and libraries? Looking to start delving into it and don’t understand what the big hubbub is all about? We’ll build an app that will be able to make phone calls out to users and be able to do basic interactions with the user while telling them a joke. We’ll also setup metrics gathering and logging and show you how much easier it is to handle when your whole service is setup asynchronously.

Introduction to MicroPython MicroPython, IOT

Max Vizard

Workshop that goes through getting started with MicroPython, using the D1 mini as the hardware platform.

There is an initial setup part that covers installing drivers and connecting to boards REPL, usually about 15-20 minutes.

  • Part 1 covers basic I/O, LEDs, buttons etc.
  • Part 2 covers OLED screen, reading temperature sensor, setting up networks, making web requests etc.

Lolin D1 Minis.

Making a Chatbot using Python with Matrix

Ben Parsons

Matrix is an open standard for interoperable, decentralised, real-time communication over the Internet.

It can be used to power Instant Messaging, VoIP/WebRTC signalling, Internet of Things communication - or anywhere you need a standard HTTP API for publishing and subscribing to data whilst tracking the conversation history.

There are Python SDKs available for interfacing with Matrix as a client (that is, doing things a client application or bot would do, such as sending and receiving messages.)

In this workshop you will investigate how to interact with the Matrix platform, first using curl HTTP calls, then using Python. You will use the Matrix Python SDK to read messages, and extract their contents. Then, you will make a basic use of TensorFlow to analyse the text (Sentiment Analysis is just an example of what can be done.) On getting the result, you will learn how to send a message back in response to the original message

Instructions for Image Classification Workshop:

Download the entire RoboFarm and RoboRecycling folders

Save in a folder where you can use Python and a Jupyter Notebook or upload to your Google Drive and run in Colab

To run Notebooks locally:

Comment out Google Colab specific instructions ie mounting a Google Drive

Adjust 'base_dir' to point to your location of the RoboFarm or RoboRecycling folder on your system.

Run notebook the requirements cell should install everything you need if you don't already have it eg Tensorflow

Make a check point so you can return to original version.

To run in Colab:

These notebooks should run on Colab without modifcation you may need to adjust "base_dir" to point to the correct location

Link to folder here:

Robo Farm

https://drive.google.com/drive/folders/1x4hxiDkYLmqQzikF6OZ6oFNLfvZROom2?usp=sharing

RoboRecycling

https://drive.google.com/open?id=13ymFwjEimJYmeqwzsG66yznIrSnhh-ty